package com.ship.dispatch.bean;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.base.Joinable;
import com.ship.common.core.mapping.TableColumn;
import com.ship.dispatch.util.NumberFormatUtil;
import io.swagger.annotations.ApiModelProperty;
import liquibase.pro.packaged.S;
import lombok.Data;

/**
 * 燃油台账燃油记录信息
 * @TableName tz_fuel_record
 */
@TableName(value ="tz_fuel_record")
@Data
public class TzFuelRecord extends BaseBean implements Joinable {

    @ApiModelProperty(value = "操作类型（1：新增，2：编辑）")
    @TableField(exist = false)
    private Integer operaType;

    /**
     * 查询类型（1：VLSFO，2：LSMGO）
     */
    @ApiModelProperty(value = "查询类型（1：VLSFO，2：LSMGO）")
    @TableField(exist = false)
    private Integer selectType;

    /**
     * 船舶名称
     */
    @TableColumn
    @ApiModelProperty(value = "船舶名称")
    private String shipName;

    /**
     * 船舶IMO
     */
    @TableColumn
    @ApiModelProperty(value = "船舶IMO")
    private String imo;

    /**
     * 来自船舶午报的 Date
     */
    @TableColumn
    @ApiModelProperty(value = "来自船舶午报的 Date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private String messageDate;

    /**
     * VLSFO 日剩余量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "VLSFO 日剩余量（吨）")
    private BigDecimal vlsfoDayLeave;

    /**
     * VLSFO 日消耗量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "VLSFO 日消耗量（吨）")
    private BigDecimal vlsfoDayUse;

    /**
     * LSMGO日 剩余量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "LSMGO日 剩余量（吨）")
    private BigDecimal lsmgoDayLeave;

    /**
     * LSMGO日消耗量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "LSMGO日消耗量（吨）")
    private BigDecimal lsmgoDayUse;

    /**
     * vlsfo量1
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量1")
    private BigDecimal vlsfoOne;

    /**
     * vlsfo量1价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量1价格")
    private BigDecimal vlsfoOnePrice;

    /**
     * vlsfo量2
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量2")
    private BigDecimal vlsfoTwo;

    /**
     * vlsfo量2价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量2价格")
    private BigDecimal vlsfoTwoPrice;

    /**
     * vlsfo量3
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量3")
    private BigDecimal vlsfoThree;

    /**
     * vlsfo量3价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量3价格")
    private BigDecimal vlsfoThreePrice;

    /**
     * 船上目前剩余的 VLSFO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "船上目前剩余的 VLSFO 价值")
    private BigDecimal vlsfoLeaveValue;

    /**
     * 当日消耗的 VLSFO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "当日消耗的 VLSFO 价值")
    private BigDecimal vlsfoUseValue;

    /**
     * lsmgo量1
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量1")
    private BigDecimal lsmgoOne;

    /**
     * lsmgo量1价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量1价格")
    private BigDecimal lsmgoOnePrice;

    /**
     * lsmgo量2
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量2")
    private BigDecimal lsmgoTwo;

    /**
     * lsmgo量2价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量2价格")
    private BigDecimal lsmgoTwoPrice;

    /**
     * lsmgo量3
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量3")
    private BigDecimal lsmgoThree;

    /**
     * lsmgo量3价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量3价格")
    private BigDecimal lsmgoThreePrice;

    /**
     * 船上目前剩余的 LSMGO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "船上目前剩余的 LSMGO 价值")
    private BigDecimal lsmgoLeaveValue;

    /**
     * 当日消耗的 LSMGO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "当日消耗的 LSMGO 价值")
    private BigDecimal lsmgoUseValue;

    /**
     * VLSFO 日剩余量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "VLSFO 日剩余量（吨）")
    @TableField(exist = false)
    private String vlsfoDayLeaveStr;

    /**
     * VLSFO 日消耗量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "VLSFO 日消耗量（吨）")
    @TableField(exist = false)
    private String vlsfoDayUseStr;

    /**
     * LSMGO日 剩余量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "LSMGO日 剩余量（吨）")
    @TableField(exist = false)
    private String lsmgoDayLeaveStr;

    /**
     * LSMGO日消耗量（吨）
     */
    @TableColumn
    @ApiModelProperty(value = "LSMGO日消耗量（吨）")
    @TableField(exist = false)
    private String lsmgoDayUseStr;

    /**
     * vlsfo量1
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量1")
    @TableField(exist = false)
    private String vlsfoOneStr;

    /**
     * vlsfo量1价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量1价格")
    @TableField(exist = false)
    private String vlsfoOnePriceStr;

    /**
     * vlsfo量2
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量2")
    @TableField(exist = false)
    private String vlsfoTwoStr;

    /**
     * vlsfo量2价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量2价格")
    @TableField(exist = false)
    private String vlsfoTwoPriceStr;

    /**
     * vlsfo量3
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量3")
    @TableField(exist = false)
    private String vlsfoThreeStr;

    /**
     * vlsfo量3价格
     */
    @TableColumn
    @ApiModelProperty(value = "vlsfo量3价格")
    @TableField(exist = false)
    private String vlsfoThreePriceStr;

    /**
     * 船上目前剩余的 VLSFO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "船上目前剩余的 VLSFO 价值")
    @TableField(exist = false)
    private String vlsfoLeaveValueStr;

    /**
     * 当日消耗的 VLSFO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "当日消耗的 VLSFO 价值")
    @TableField(exist = false)
    private String vlsfoUseValueStr;

    /**
     * lsmgo量1
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量1")
    @TableField(exist = false)
    private String lsmgoOneStr;

    /**
     * lsmgo量1价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量1价格")
    @TableField(exist = false)
    private String lsmgoOnePriceStr;

    /**
     * lsmgo量2
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量2")
    @TableField(exist = false)
    private String lsmgoTwoStr;

    /**
     * lsmgo量2价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量2价格")
    @TableField(exist = false)
    private String lsmgoTwoPriceStr;

    /**
     * lsmgo量3
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量3")
    @TableField(exist = false)
    private String lsmgoThreeStr;

    /**
     * lsmgo量3价格
     */
    @TableColumn
    @ApiModelProperty(value = "lsmgo量3价格")
    @TableField(exist = false)
    private String lsmgoThreePriceStr;

    /**
     * 船上目前剩余的 LSMGO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "船上目前剩余的 LSMGO 价值")
    @TableField(exist = false)
    private String lsmgoLeaveValueStr;

    /**
     * 当日消耗的 LSMGO 价值
     */
    @TableColumn
    @ApiModelProperty(value = "当日消耗的 LSMGO 价值")
    @TableField(exist = false)
    private String lsmgoUseValueStr;

    /**
     * 事件类型
     */
    @TableColumn
    @ApiModelProperty(value = "事件类型")
    private String eventType;

    @Override
    public String getLabel() {
        return null;
    }

    @Override
    public String getValue() {
        return null;
    }

    public String getVlsfoDayLeaveStr(){
        String result = null;
        if (getVlsfoDayLeave() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoDayLeave());
        }
        return result;
    }

    public String getVlsfoDayUseStr(){
        String result = null;
        if (getVlsfoDayUse() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoDayUse());
        }
        return result;
    }

    public String getLsmgoDayLeaveStr(){
        String result = null;
        if (getLsmgoDayLeave() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoDayLeave());
        }
        return result;
    }

    public String getLsmgoDayUseStr(){
        String result = null;
        if (getLsmgoDayUse() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoDayUse());
        }
        return result;
    }

    public String getVlsfoOneStr(){
        String result = null;
        if (getVlsfoOne() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoOne());
        }
        return result;
    }

    public String getVlsfoOnePriceStr(){
        String result = null;
        if (getVlsfoOnePrice() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoOnePrice());
        }
        return result;
    }

    public String getVlsfoTwoStr(){
        String result = null;
        if (getVlsfoTwo() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoTwo());
        }
        return result;
    }

    public String getVlsfoTwoPriceStr(){
        String result = null;
        if (getVlsfoTwoPrice() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoTwoPrice());
        }
        return result;
    }

    public String getVlsfoThreeStr(){
        String result = null;
        if (getVlsfoThree() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoThree());
        }
        return result;
    }

    public String getVlsfoThreePriceStr(){
        String result = null;
        if (getVlsfoThreePrice() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoThreePrice());
        }
        return result;
    }

    public String getVlsfoLeaveValueStr(){
        String result = null;
        if (getVlsfoLeaveValue() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoLeaveValue());
        }
        return result;
    }

    public String getVlsfoUseValueStr(){
        String result = null;
        if (getVlsfoUseValue() != null) {
            result = NumberFormatUtil.numericFormatting(getVlsfoUseValue());
        }
        return result;
    }

    public String getLsmgoOneStr(){
        String result = null;
        if (getLsmgoOne() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoOne());
        }
        return result;
    }

    public String getLsmgoOnePriceStr(){
        String result = null;
        if (getLsmgoOnePrice() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoOnePrice());
        }
        return result;
    }

    public String getLsmgoTwoStr(){
        String result = null;
        if (getLsmgoTwo() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoTwo());
        }
        return result;
    }

    public String getLsmgoTwoPriceStr(){
        String result = null;
        if (getLsmgoTwoPrice() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoTwoPrice());
        }
        return result;
    }

    public String getLsmgoThreeStr(){
        String result = null;
        if (getLsmgoThree() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoThree());
        }
        return result;
    }

    public String getLsmgoThreePriceStr(){
        String result = null;
        if (getLsmgoThreePrice() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoThreePrice());
        }
        return result;
    }

    public String getLsmgoLeaveValueStr(){
        String result = null;
        if (getLsmgoLeaveValue() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoLeaveValue());
        }
        return result;
    }

    public String getLsmgoUseValueStr(){
        String result = null;
        if (getLsmgoUseValue() != null) {
            result = NumberFormatUtil.numericFormatting(getLsmgoUseValue());
        }
        return result;
    }

}